Various forms of storage systems are used today. These forms include direct attached storage (DAS) network attached storage (NAS) systems, storage area networks (SANs), and others. Network storage systems are commonly used for a variety of purposes, such as providing multiple users with access to shared data, backing up data and others.
A storage system typically includes at least one computing system executing a storage operating system for storing and retrieving data on behalf of one or more client computing systems (“clients”). The storage operating system stores and manages shared data containers in a set of mass storage devices.
Storage systems are extensively used in NAS, SAN and virtual environments where a physical resource is time-shared among a plurality of independently operating processor executable virtual machines. Resources, for example, storage devices, in such operating environments are typically shared by a plurality of computing systems and applications. Sometimes, a resource may be over utilized, referred to herein as resource contention.
To determine a root cause of resource contention can be tedious and complex in today's operating environments where multiple computing systems and virtual machines access storage volumes that are spread across multiple storage devices in both NAS and SAN environments. Often a storage administrator has to manually obtain information regarding virtual machines, virtual drives and associated storage volumes from different entities to determine the root cause of resource contention at any given time. Because determining the root cause is inefficient, it also delays corrective action to remedy resource contention. Continuous efforts are being made to efficiently manage resources and reduce resource contention.